package org.jeecg.modules.appPermission.service;

import com.alibaba.fastjson.JSONObject;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.system.entity.SysPermission;
import org.jeecg.modules.system.entity.SysRole;

import java.util.List;

/**
 * @description: APP PERMISSION SERVICE
 * @author: zwf
 * @create: 2025-06-13 14:15
 **/
public interface AppPermissionService {

    /**
     * 获取用户角色
     *
     * @author zwf
     * @date created in 2025-06-13 14:38
     * @param: loginUser
     * @return: java.util.List<org.jeecg.modules.system.entity.SysRole>
     */
    List<String> getUserRole(LoginUser loginUser);

    /**
     * 根据角色获取用户权限
     *
     * @author zwf
     * @date created in 2025-06-13 14:38
     * @param: roleList
     * @return: java.util.List<org.jeecg.modules.system.entity.SysPermission>
     */
    List<SysPermission> getUserPermission(List<String> roleList);

    /**
     * 封装菜单数据（app）
     *
     * @author zwf
     * @date created in 2025-06-13 14:58
     * @param: result
     * @param: permissionList
     */
    JSONObject packagePermission(List<SysPermission> permissionList);
}
